Two methods, Variational Autoencoders (VAEs) and Generative Adversarial Networks (GANs), have emerged as leading techniques for generative modeling within artificial intelligence and deep learning. Generative modeling is an active and growing subfield within unsupervised and semi-supervised machine learning. The goal of generative models is to represent the latent variables that describe a data distribution that can produce or reproduce data examples in high-dimensional space. One typical example is images, where generative models can be used to produce new images that appear realistic and are highly similar to those in a set of training examples, without exactly reproducing the existing images on which the generative model was trained. Trained with stochastic gradient descent in coordination with deep neural networks that serve as universal function approximators, VAEs and GANs can be used to generate many types of realistic data.
A key aspect of generative models is that they should not simply reproduce data examples used in training, but should be able to generate novel data that is similar to, but different from, any example in the training set. VAEs attempt to achieve this objective by simultaneously minimizing divergence between generated data and source data and minimizing divergence between latent variables in a stochastic layer and unit Gaussians or other simple statistical distribution. This latter source of regularization has the effect of compressing differences between the latent variables, an undesirable feature when data is drawn from multiple categorical distributions. GANs are designed to produce sharp, highly-realistic images through an iterative competition between a generator and a discriminator that attempts to distinguish between real data and generated data. GANs frequently suffer from mode collapse, where the GAN generates representatives of only a small proper subset of the modes of a multi-modal distribution, in some cases generating representatives of only a single mode. This reduces diversity among generated data and limits the usefulness of GANs in some applications.